/**
 * Created by Joseph on 2014/6/24.
 */
$(document).ready(function () {
    formValidator();
    updateImgtxtInput();
});

function init(pageUrl, imgTxtLink, searchUrl) {
    //divide_page(1, pageUrl, imgTxtLink);
    imgTxtSelecteInit(imgTxtLink);
    initClickable(pageUrl, imgTxtLink, searchUrl);


    //切换回复内容下拉框时，显示不同的图文内容编辑框
    $("#replay-type").change(function () {
        var value = $(this).val();
        // alert(value);
        if (value == "custom") {
            $(".custom-content").show();
            $(".link-content").hide();
        } else {
            $(".custom-content").hide();
            $(".link-content").show();
        }
    });

    // 选择了封面图片后在右边的img标签中显示改图片
    $("input[type=file]").change(function (e) {
        var fileInput = $(this)[0];
        var file = fileInput.files[0];
        if (file) {
            var reader = new FileReader();
            reader.onload = function (e) {
                var $img = $('#thumb-img');
                $img.attr("src", reader.result);
            }
            reader.readAsDataURL(file);
        }
    });
}


//初始化点击事件
function initClickable(pageUrl, imgTxtLink, searchUrl) {
    $("#sequence").keypress(function (e) {
        isNum(e);
    });
    $("#imgtxt-list li span").click(function () {
        $(this).parent().remove();
        updateImgtxtInput();
    });
//    模态框关闭事件
    $('#add-imgtxt').on('hidden.bs.modal', function () {
        $("#data-list input").each(function () {
            $(this).attr("checked", false);
        });
    });
    //分页按钮
    $("#p_page").click(function () {
        var page = $("#page-index").data("page");
        page = parseInt(page);
        if (page > 1) {
            page = page - 1;
            divide_page(page, pageUrl, imgTxtLink);
        }
        //alert(page);
        //updatePage(page);
    });
    $("#n_page").click(function () {
        var page = $("#page-index").data("page");
        var maxPage = $("#page-index").data("max-page");
        if (page < maxPage) {
            page = page + 1;
            divide_page(page, pageUrl, imgTxtLink);
        }
        //alert(page+"-"+maxPage);
        //updatePage(page);
    });
    //查找图文按钮
    $("#search").click(function () {
        var searchTitle = $("#key").val();
        search(searchTitle, searchUrl, imgTxtLink);
    });
}

//设置被选中的Radio
function selectedRadio(value) {
    $("input[type='radio']").each(function () {
        var rValue = $(this).val();
        if (rValue == value) {
            $(this).attr("checked", "checked");
        }
        else {
            $(this).attr("checked", "");
        }
    });
}
//表单校验
function formValidator() {
    $('#form').bootstrapValidator({
        message: 'This value is not valid',
        feedbackIcons: {
            valid: 'glyphicon glyphicon-ok',
            invalid: 'glyphicon glyphicon-remove',
            validating: 'glyphicon glyphicon-refresh'
        },
        fields: {
            "wechat[keyword]": {
                validators: {
                    notEmpty: {
                        message: '关键字不能为空'
                    }
                }
            },
            "wechat[match_type]": {
                validators: {
                    notEmpty: {
                        message: '匹配类型不能为空'
                    }
                }
            },
            "wechat[title]": {
                validators: {
                    notEmpty: {
                        message: '标题不能为空'
                    }
                }
            },
            "wechat[position]": {
                validators: {
                    notEmpty: {
                        message: '排序id不能为空'
                    }
                }
            },
            "picurl": {
                validators: {
                    notEmpty: {
                        message: '图文封面不能为空'
                    }
                }
            },
            "wechat[description]": {
                validators: {
                    notEmpty: {
                        message: '图文简介不能为空'
                    }
                }
            }
            ,
            "wechat[href]": {
                validators: {
                    notEmpty: {
                        message: '外链链接不能为空'
                    }
                }
            }
            // ,
            // "content": {
            //     validators: {
            //         notEmpty: {
            //             message: '详细内容不能为空'
            //         }
            //     }
            // }


        }
    });
}
function isNum(e) {
    var k = window.event ? e.keyCode : e.which;
    if (((k >= 48) && (k <= 57)) || k == 8 || k == 0) {
    } else {
        if (window.event) {
            window.event.returnValue = false;
        }
        else {
            e.preventDefault(); //for firefox
        }
    }
}

/**
 * 选择多图文的checkbox改变状态
 * 在添加多图文的模态框中点击一个图文的input后，当该checkbox被选中，
 * 那么在添加图文界面的“多图文”下面就会多出一条被选中的图文；反之当checkbox被取消选中，则“多图文”下就会取消该图文
 * @param imgTxtLink 点击图文，跳转到该图文的地址 PS：图文链接是通过拼接id参数生成完成的链接的，id值是通过data-id属性
 * 保存在每条图文里面的。
 */
function imgTxtSelecteInit(imgTxtLink) {
    $("#data-list input").unbind();
    $("#data-list input").change(function () {
        var isChecked = $(this).is(":checked");
        var imtTxtId = $(this).data("imgtxt-id");
        var imtTxtName = $(this).parent().find("label").html();
        var imgTxtList = $("#imgtxt-list");
        //如果选择checkbox
        if (isChecked) {
            //判断多图文列表中是否存在该id，如果存在则不添加
            var isExistId = false;
            imgTxtList.find("a").each(function () {
                var id = $(this).data("id");
                if (id === imtTxtId) {
                    isExistId = true;
                    return false;
                }
            });
            if (isExistId) {
                return;
            } else {
                var $li = $('<li><a></a><span class="glyphicon glyphicon-remove"></span></li>');
                var link = imgTxtLink + "?id=" + imtTxtId;          //图文链接
                // alert(link);
                $li.find("a").data("id", imtTxtId);
                $li.find("a").html(imtTxtName);
                imgTxtList.append($li);
                $li.find("span").click(function () {
                    $li.remove();
                    updateImgtxtInput();
                });
            }
        }
        //如果没有选择checkbox
        else {
            imgTxtList.find("a").each(function () {
                var id = $(this).data("id");
                if (id === imtTxtId) {
                    $(this).parent().remove();
                }
            });
        }
        updateImgtxtInput();
    });
}
//更新提交多图文的input
function updateImgtxtInput() {
    var idArr = new Array();
    $("#imgtxt-list a").each(function (index) {
        idArr[index] = $(this).data("id");
    });

    $("#multi-imgtxt").val(JSON.stringify(idArr));
}

/**
 * 分页函数,点击之后通过ajax分页
 * @param index 需要得到的页数
 * @param url   分页url
 * @param imgTxtLink 图文地址
 */
function divide_page(index, url, imgTxtLink) {
    var pageJson = {"page": index};
    $.get(url, pageJson, function (data, status) {
        var $list = $("#data-list");
        var json = eval(data);
        $list.empty();
        for (var i = 0; i < json.length; i++) {
            var id = json[i].id;
            var name = json[i].title;
            var $li = $('<li><input type="checkbox" name="check" data-imgtxt-id="1"/><label></label></li>');
            $li.find("input").data("imgtxt-id", id);
            $li.find("label").html(name);
            $list.append($li);
        }
        updatePage(index);
        imgTxtSelecteInit(imgTxtLink);
    });
}
function updatePage(index) {
    $("#page").html(index);
    $("#page-index").data("page", index);
}
/**
 * 查找图文
 * @param imgtxtName 图文名字
 * @param searchUrl  查找图文url
 * @param imgTxtLink    图文url，点击图文名字跳转到图文信息的地址
 */

function search(imgtxtName, searchUrl, imgTxtLink) {
    var dataJson = {"imgTxt": imgtxtName};
    $.get(searchUrl, dataJson, function (data, status) {
        var $list = $("#data-list");
        var json = eval(data);
        $list.empty();
        for (var i = 0; i < json.length; i++) {
            var id = json[i].id;
            var name = json[i].title;
            var $li = $('<li><input type="checkbox" name="check" data-imgtxt-id="1"/><label></label></li>');
            $li.find("input").data("imgtxt-id", id);
            $li.find("label").html(name);
            $list.append($li);
        }
        updatePage(index);
        imgTxtSelecteInit(imgTxtLink);
    });
}


